Parent Class#
Parent Class (Super Class or Base Class): This class allows the reuse of its public properties in another class.
Child Class#
Child Class (Sub Class or Derived Class): This class inherits or extends the superclass.
A child class has all public attributes of the parent class.
class ParentClass:
# attributes of the parent class
class ChildClass(ParentClass):
# attributes of the child class
Super() Function#
We use super()
as opposed to self
to access the parent class properties instead of the child class properties of the same name.
Types of Inheritance#
Single
, Multi-level
, Hierarchical
, Multiple
, and Hybrid
Single Inheritance#
There is only one class extending from another class.
Multiple Inheritance#
A class extends another class which itself extends another class.
Hierarchical#
A base class is extended by distinct classes depending on the requirements.
Multiple Inheritance#
A class extends or is derived from more than one base class.
class ClassName(BaseClass, AnotherBaseClass, ...):
def method()
pass
Advantages of Inheritance#
Reusability, code modification, extensibility and data hiding.